Visualization of size of objects

ABSTRACT

In accordance with some examples, when an image of an object is displayed at a display device, responsive to one or more user inputs, a computing device may be configured to adjust the image so that the object in the adjusted image approximates its actual size. A scale of a representative length may then be generated on the image, responsive to one or more other user inputs, such that the actual size of the object is visualized based on the scale.

CROSS-REFERENCE TO RELATED APPLICATION

This Application is the U.S. National Stage filing under 35 U.S.C. §371of PCT Application Ser. No. PCT/CN13/089170 filed on Dec. 12, 2013. Thedisclosure of the PCT Application is hereby incorporated herein byreference in its entirety.

TECHNICAL FIELD

The technologies described herein pertain generally to visualizing anactual size of an object included in an image.

BACKGROUND

Unless otherwise indicated herein, the approaches described in thissection are not prior art to the claims in this application and are notadmitted to be prior art by inclusion in this section.

When an image is displayed on a display, an object included in the imageis typically not displayed in accordance with its actual size. Thus, itmay be difficult for a viewer to visualize the object in its actual sizedue to the size of the display. For example, an image that includes aperson is likely not displayed in a manner to depict the actual size ofthe person and, therefore, the viewer would likely have difficulty invisualizing the person's actual height based solely on the depiction ofthe person in the image.

SUMMARY

Technologies are generally described for visualizing a real or actualsize of an object displayed in an image. The various techniquesdescribed herein may be implemented in various methods,computer-readable mediums, computer programmable products, and/orsystems.

In some examples, various embodiments may be implemented as methods.Some methods may include generating a reference scale; displaying animage, the image including an object; responsive to a first input,adjusting the displayed image, wherein the object in the adjusted imageapproximates an actual size of the object; and, responsive to a secondinput, generating a first scale that depicts a representative length onthe image based on the reference scale, such that the actual size of theobject is visualized based on the first scale.

In some examples, various embodiments may be implemented ascomputer-readable mediums having executable instructions stored thereon.Some computer-readable mediums may store instructions that, whenexecuted, cause one or more processors to perform operations includingdisplaying an image that includes at least an object; responsive to afirst input, adjusting the displayed image, wherein the object in theadjusted image approximates an actual size of the object; and responsiveto a second input, generating a scale on the image, wherein the scaledepicts a representative length.

In yet other examples, some computer-readable mediums may storeinstructions that, when executed, cause one or more processors toperform operations including displaying a scaled version of an imagethat includes a first scale the depicts a known length; displaying thescaled version of the image on a display screen, the display screenhaving an indication of a second scale; and, responsive to an input,adjusting the size of the scaled version of the image such that thefirst scale approximates the second scale.

In some examples, various embodiments may be implemented as systems.Some systems may include a first display device configured to display animage that includes at least an object; a first display controllerconfigured to, responsive to a first input, adjust a size of the image,wherein the object included in the adjusted image approximates an actualsize of the object, and responsive to a second input, display a firstscale on the adjusted image, the first scale depicting a representativelength; a second display device configured to display the image with thefirst scale displayed thereon, wherein the second display device havingan indication of a second scale; and a second display controllerconfigured to, responsive to a third input, adjust a size of thedisplayed image such that the first scale approximates the second scale.

In yet other examples, some systems may include a display deviceconfigured to display a scaled version of an image that includes a firstscale that depicts a known length, wherein the display device has anindication of a second scale; and a display controller configured toadjust the displayed scaled version of the image, responsive to one ormore inputs, such that the first scale approximates the second scale.

The foregoing summary is illustrative only and is not intended to be inany way limiting. In addition to the illustrative aspects, embodiments,and features described above, further aspects, embodiments, and featureswill become apparent by reference to the drawings and the followingdetailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

In the detailed description that follows, embodiments are described asillustrations only since various changes and modifications will becomeapparent to those skilled in the art from the following detaileddescription. The use of the same reference numbers in different figuresindicates similar or identical items. In the drawings:

FIG. 1 shows an example computing device by which visualization of sizeof objects maybe implemented;

FIGS. 2A and 2B show an example system on which visualization of size ofobjects may be implemented;

FIG. 3 shows an example configuration of computing device by whichvisualization of size of objects may be implemented;

FIG. 4 shows an example configuration of a processing flow of operationsby which visualization of size of objects may be implemented; and

FIG. 5 shows a block diagram illustrating an example computing devicethat is arranged for visualization of size of objects, all arranged inaccordance with at least some embodiment described herein.

DETAILED DESCRIPTION

In the following detailed description, references are made to theaccompanying drawings, which form a part of the description. In thedrawings, similar symbols typically identify similar components, unlesscontext dictates otherwise. Furthermore, unless otherwise noted, thedescription of each successive drawing may reference features from oneor more of the previous drawings to provide clearer context and a moresubstantive explanation of the current example embodiment. Still, theembodiments described in the detailed description, drawings, and claimsare not meant to be limiting. Other embodiments may be utilized, andother changes may be made, without departing from the spirit or scope ofthe subject matter presented herein. It will be readily understood thatthe aspects of the present disclosure, as generally described herein andillustrated in the drawings, may be arranged, substituted, combined,separated, and designed in a wide variety of different configurations,all of which are explicitly contemplated herein.

When viewing an image that is being displayed, it may be difficult torealize or appreciate the real or actual size of an object or objectsthat are included in the image. This may be due to different outputmethods that are being used to display the image. For example, the sizeof the image displayed may be different when displayed on a displayscreen or when printed. The size of the image displayed may be differentwhen displayed on two different display screens, or even when displayedon the same display screen but at two different times.

Briefly stated, technologies are described to provide a baseline (forexample, a scale) on a displayed image to allow a viewer of thedisplayed image to visualize, feel, appreciate, etc., the real or actualsize of objects being displayed as part of the displayed image. Inaccordance with some embodiments, a reference scale may be established.The reference scale may be of any arbitrary length, such as, by way ofexample, 0.5 cm, 1 cm, etc., and may depend on the size of the displayscreen on which the image is to be displayed. That is, the referencescale should be of a length that can be entirely visualized or indicatedon the display screen. In some embodiments, the length of the referencescale may be determined using the size (for example, the pixelarrangement) of the display screen. The length of the reference scaleand the length that the reference scale represents (representativelength) is the same. For example, if the length of the reference scaleis 1 cm, the reference scale represents a length or size of 1 cm.

Subsequently, when an image is displayed on the display screen, a viewermay adjust the size of the displayed image such that an object or detailthat is being displayed in the image is of, or approximates, theobject's or detail's actual or real size. Then, a scale having the samelength as the reference scale may be generated on the adjusted image.The scale generated on the adjusted image is based on the referencescale, the scale on the adjusted image will represent the same length asthe representative scale. The scale on the adjusted image will allowviewers of the displayed image to visualize the actual or real size ofobjects included in and displayed as part of the displayed image. Evenwhen the size of the displayed image is altered or changed, since thescale on the altered or changed image will also be altered or changedproportionate to the displayed image, viewers of the altered or changedimage will still be able to visualize the actual or real size of objectsbeing displayed as part of the displayed altered or changed image. Thisis because the scale on the unaltered or unchanged image and the scaleon the altered or changed image represent the same length.

Moreover, even when the image having the scale is displayed on another,different display screen, maybe of a different size, by providing ascale of the same length as the reference scale on this display screen,viewers will be able to adjust the displayed image as necessary tovisualize the actual or real size of objects included in and displayedas part of the displayed image. For example, a viewer can adjust thesize of the displayed image such that the length of the scale on theimage equals or closely approximates the length of the scale provided onthe display screen.

FIG. 1 shows an example computing device 110 by which visualization ofsize of objects maybe implemented, arranged in accordance with at leastsome embodiment described herein. As depicted, computing device 110includes a display module 106 on which an image 108 may be displayed.Image 108 may include an object A 102 and object B 104 and may have ascale 114 displayed thereon. Further, a reference scale 112 may begenerated to depict a representative length for drawing or generatingscale 114.

As referenced herein, a scale may refer to a visible line thatrepresents a length that may be utilized as a basis to visualize orestimate the actual size of an object depicted in the image.

As referenced herein, a representative length of the scale may refer toa length that the scale represents. The representative length may be setin terms of a measure of length, e.g., inches, centimeters, a number ofpixels, etc.

It is noted that, when displayed on an image, the scale may actually beof a length that is different than the representative length. Forexample, even though the representative length may be 1 cm, thedisplayed length of a scale displayed on an image may be 0.5 cm.However, in the example, the 0.5 cm scale may still be intended torepresent 1 cm. Thus, the 0.5 cm scale is an example of a displayedlength of a scale, which may or may not be the same as therepresentative length.

As referenced herein, a scaled version of an image may refer to aversion of the image that also includes a depiction of a scale of therepresentative length.

As reference herein, an adjusted version of an image may refer to aversion of the image that is altered, in response to one or more userinputs, by a display controller or a computing device.

Object A 102 may refer to a visible object depicted in image 108. Asnon-limiting examples, object A 102 may include a belt buckle, a ring, afish hook, a knob, etc. Object A 102 may further refer to sub-componentsof object A 102, such as a prong or a design feature of the belt buckle,a jewel in the ring, a curvature in the fish hook, a scratch on theknob, etc.

Object B 104 may also refer to a visible object depicted in image 108,but of a larger size than object A 102. Non-limiting examples of objectB 104 may include a person wearing the belt buckle, a hand on which thering is worn, a fishing line on which the fishing hook is attached, adoor on which the knob is attached, etc.

Display module 106 may refer to a module of computing device 110 thatmay be configured to display an image or a portion of the image thatincludes object A 102, e.g., image 108. In some examples, display module106 may be integrated in computing device 110 as, e.g., a screen of amobile phone. Alternatively, display module 106 may refer to a separatedisplay device communicatively coupled to computing device 110. Via aninput component of computing device 110, a user may adjust, e.g., zoomin, zoom out, and/or pan vertically or across, image 108 displayed ondisplay module 106. Non-limiting examples of display module 106 mayinclude a LCD monitor, a touch screen, a TV screen, etc.

Image 108 may refer to a visual representation, digital or analog, thatdepicts at least object A 102. Image 108 may be captured by a camera anddisplayed by display module 106. Typically, image 108 may includemultiple pixels that may serve as a basis for estimate a size of objectA 102. Each of the multiple pixels may be assigned with a color and themultiple pixels in combination, thus, may compose image 108.

Computing device 110 may refer to a device configured to transmit datato display module 106, receive data from display module 106, and/or toprocess computing tasks. In some examples, computing device 110 may beconfigured to retrieve image 108 from an internal or an external datastorage. Alternatively or in addition, computing device 110 may includea camera configured to display image 108 on display module 106.Computing device 110 may further include the aforementioned input modulefor the user to adjust the displayed image by, e.g., zooming in, zoomingout, or panning image 108 vertically or across display module 106. Theinput module may include a touch screen, a keyboard, a mouse, etc.Non-limiting examples of computing device 110 may include a laptop, amobile phone, a tablet computer, etc. In at least some examples,computing device 110 may be referred to as a display controller.

In some examples, computing device 110 may be configured, in response toone or more inputs from the user, to adjust image 108 to an extent thatobject A 102 approximates its actual size. The adjusted version of image108 may be displayed on display module 106. For example, responsive tothe user's zooming or panning operations, computing device 110 mayadjust image 108 such that a portion of image 108, e.g., object A 102,may be displayed in close approximation to its actual size. As shown inFIG. 1, the depiction of object A 102, e.g., the belt buckle, in image108 is magnified, i.e., zoomed in, and therefore intended to bedisplayed to be substantially close to the actual size of the actualbelt buckle, as viewed by the user.

Scale 114 may refer to a visible line that represents a length. Scale114 may be generated on the adjusted version of image 108 to serve as abasis to facilitate visualization of the object in its actual size inrelation to the size of the display, e.g., the size of display module106, on which the image is being displayed. Scale 114 may be generatedin response to one or more user inputs via computing device 110. Inaccordance with some embodiments, the representative length depicted byscale 114 may be 1 cm as shown in FIG. 1.

In some embodiments, when image 108 is adjusted so that object A 102 isdisplayed in at least close approximation to its actual size, computingdevice 110 may generate scale 114 on the adjusted version of image 108in response to one or more user inputs. In some other embodiments,computing device 110 may juxtapose scale 114 to the displayed object A102 so that object A 102 may be visualized to a viewer in relation tothe juxtaposed scale 114.

In some examples, prior to the generation of scale 114, reference scale112 may be pre-generated on display module 106 or marked on a physicalframe of display module 106. Reference scale 112 may serve as a basisfor computing device 110 to determine a length of scale 114. That is,scale 114 may be generated to be the same length as reference scale 112.In some other examples, scale 114 may be generated to be therepresentative length of scale 114 on display module 106. Suchgenerating may be performed in accordance with currently existingmethods. For example, a ruler may be displayed in the margin of aMicrosoft Word® document in its actual size when the zoom level of thedocument is set to 100%.

In further examples, computing device 110 may be configured to estimatean actual size of object A 102 based on the representative length ofscale 114, an actual count of pixels of scale 114 on the adjustedversion of image 108, and an actual count of pixels of object A 102. Ineven further examples, computing device 110 may be configured toestimate the actual size of other objects visualized by image 108. Suchobjects may include object B 104, which may be larger than object A 102,e.g., a person wearing a belt buckle; or such objects may includesub-components of object A 102, e.g., a prong attached to the beltbuckle. Such estimates may also be made based on the representativelength of scale 114, the actual count of pixels of scale 114, and theactual count of pixels of the other objects.

In further examples, the scaled version of image 108 may be transmittedto a second computing device, e.g., second computing device 204. Thescaled version of image 108 may or may not be transmitted in the samesize as the adjusted version of image 108.

FIGS. 2A and 2B show an example system 200 on which visualization ofsize of objects may be implemented, arranged in accordance with at leastsome embodiment described herein. As depicted, example system 200 mayinclude at least a display device 202, a second computing device 204, ascaled image 206, a scale 208, and an adjusted scaled image 210.

Display device 202 may refer to a device, or a component integrated insecond computing device 204, configured to display scaled image 206.Similar to display module 106, display device 202 may be integrated in acomputing device such as a screen of a mobile phone, a tablet computer,a laptop computer, etc. Alternatively, display device 202 may refer to aseparate display device that is communicatively coupled to the computingdevice as, e.g., a monitor of a desktop computer, as shown in FIGS. 2Aand 2B.

Second computing device 204 may refer to a device configured to providedata to display device 202, to receive data from display device 202,and/or to process computing tasks. In some examples, second computingdevice 204 may be configured to receive a scaled version of image 108from computing device 110 and to transmit the received image to displaydevice 202. Second computing device 204 may include at least one or moreinput devices that are configured to receive input from the user andfurther to adjust the size of the received image responsive to theinput. In at least some examples, second computing device 204 may bereferred to as a display controller.

Scaled image 206 may refer to a scaled version of image 108 that mayinclude at least object A 102 and scale 114. In some exampleembodiments, the displayed size of scaled image 206 may be differentthan that of image 108 or the adjusted version of image 108. That is,scaled image 206 may be altered to a different size so that the entiretyof scaled image 206 may be displayed on a screen of display device 202as shown in FIG. 2. Thus, since scaled image 206 may be altered, thedisplayed length of scale 114 on scaled image 206 may not accuratelydepict the representative length that scale 114 depicts. For example,assuming the representative length of scale 114 is 1 cm, the length ofscale 114 generated on scaled image 206 may not be 1 cm or evenapproximate 1 cm as a result of the distortion of scaled image 206.

Scale 208 may refer to a visible line that depicts the samerepresentative length as scale 114. Further, scale 208 may be displayedto be a line that is of the representative length on display device 202,i.e., the displayed length of scale 208 may be the same as therepresentative length that scale 208 depicts. In some examples, scale208 may be displayed on the screen of display device 202 in accordancewith currently existing computer-executable methods. For example, as setforth above, a ruler in the margin of a Microsoft Word® document may bedisplayed in its actual size when the zoom level thereof is set to 100%.In some other examples, scale 208 may be marked on a physical frame ofdisplay device 202, e.g., marked on a physical frame of a computermonitor. Further, scale 208 may be generated either vertically orhorizontally relative to the physical frame of display device 202.

Adjusted scaled image 210 may refer to an adjusted version of scaledimage 206. In accordance with at least some examples, second computingdevice 204 may be configured to adjust or calibrate a size of scaledimage 206, responsive to one or more inputs from a viewer who may or maynot be the user of computing device 110, such that the displayed lengthof scale 114 in adjusted scaled image 210 is substantially the samelength as scale 208. For example, the viewer may zoom or pan scaledimage 206 with the intention that scale 114 and scale 208 are of equallength, from a viewer's perspective. Thus, object A 102 in adjustedscaled image 210 may be visualized to at least approximate its actualsize.

In further examples, the actual size of object A 102 may be estimated bysecond computing device 204 based on the representative length of scale114 and the actual count of pixels of scale 114 in adjusted scaled image210.

FIG. 3 shows an example configuration of computing device 110 by whichvisualization of size of objects maybe implemented, arranged inaccordance with at least some embodiment described herein. As depicted,computing device 110 may include, at least, a camera 302, a scalegenerator 304, and a size estimator 306.

Camera 302 may refer to an optical device configured to record image 108that may be stored directly to another device and/or transmitted toanother device. In some examples, image 108 may be stored to a datastorage of computing device 110 and/or transmitted to display device202.

Scale generator 304 may refer to a component configured to generate,establish, or draw scale 114. In some examples, responsive to one ormore inputs from the user, scale generator 304 may be configured togenerate scale 114 on the adjusted version of image 108 to produce ascaled version of image 108 to include object A 102 and scale 114. In atleast some examples, scale generator 304 may be configured to juxtaposescale 114 to object A 102 responsive to one or more user inputs.Non-limiting examples of such user inputs may include dragging or movingscale 114 substantially close to object A 102. In accordance withvarious embodiments, scale generator 304 may be implemented as hardware,software, firmware of a combination thereof.

Size estimator 306 may refer to a component configured to estimate anactual size of object A 102 based on, the representative length of scale114, an actual count of pixels of scale 114 in the adjusted version ofimage 108, and an actual count of pixels of object A 102. For example,the representative length of scale 114 may be 1 cm, which may be thelength equivalent 100 pixels in the adjusted version of image 108.Further to the example, while the length of object A 102 may beequivalent to that of 200 pixels in the same direction as scale 114,size estimator 306 may estimate that the length of object A 102 is 2 cm,i.e., 200 pixels divided by 100 pixels and multiplied by 1 cm. That is,the length of the belt buckle in image 108 may be estimated to be 2 cm.Thus, the size of object A 102 may be estimated based on the ratio ofthe representative length of scale 114 and the count of pixels of scale114.

In yet further examples, similarly, computing device 110 may beconfigured to estimate the actual size of one of other objectsvisualized by image 108, e.g., object B 104. Such estimates may also bemade based on the representative length of scale 114, the actual countof pixels of scale 114, and the actual count of pixels encompassed byobject B 104. In accordance with various examples, size estimator 306may be implemented as hardware, software, firmware, or any combinationthereof.

FIG. 4 shows an example configuration of a processing flow of operationsby which visualization of size of objects maybe implemented, allarranged in accordance with at least some embodiment described herein.As depicted, processing flow 400 may include sub-processes executed byvarious components that are part of example image capturing device 102and second computing device 204. However, processing flow 400 is notlimited to such components, and modification may be made by re-orderingtwo or more of the sub-processes described here, eliminating at leastone of the sub-processes, adding further sub-processes, substitutingcomponents, or even having various components assuming sub-processingroles accorded to other components in the following description.Processing flow 400 may include various operations, functions, oractions as illustrated by one or more of blocks 402, 404, 406, and/or408. Processing may begin at block 402.

Block 402 (Display Image) may refer to display module 106 displayingimage 108, which may be a visual representation of object A 102. Block402 may be followed by block 404.

Block 404 (Adjust Image Size) may refer to computing device 110adjusting the size of image 108 in response to one or more inputs from auser. For instance, image 108 includes a person wearing a belt buckle,and is displayed on display module 106. A user of computing device 110may zoom in or pan across image 108 on object A 102, e.g., a beltbuckle, so that object A 102 is shown in the adjusted version of image108 to be substantially close to an actual size of object A 102, basedon the user's visual approximation. Block 404 may be followed by block406.

Block 406 (Produce Scaled Image) may refer to computing device 110generating scale 114 on the adjusted version of image 108 to produce ascaled version of image 108. The scaled version of image 108 may befurther transmitted to a second display device, e.g., display device202, via a second computing device, e.g., second computing device 204.Block 406 may be followed by block 408.

Block 408 (Estimate Object Size) may refer to size estimator 306estimating the actual size of object A 102 based on the representativelength of scale 114 and the actual count of pixels of scale 114 inscaled version of image 108. For example, the representative length ofscale 114 may be 1 cm, which may be the length equivalent 100 pixels inthe adjusted version of image 108. Further to the example, while objectA 102 is the length equivalent of 200 pixels in the same direction asscale 114, size estimator 306 may be configured to estimate that thelength of object A 102 is 2 cm, i.e., 200 pixels divided by 100 pixelsand multiplied by 1 cm. Thus, the size of object A 102 may be estimatedbased on the proportion of the representative length of scale 114 andthe count of pixels of scale 114.

Thus, scale 114 may be generated on image 108 when object A 102 isdisplayed to approximate its actual size. A size of object A 102 maythen be estimated based on scale 114.

One skilled in the art may appreciate that, for this and other processesand methods disclosed herein, the functions performed in the processesand methods may be implemented in differing order. Furthermore, theoutlined steps and operations are only provided as examples, and some ofthe steps and operations may be optional, combined into fewer steps andoperations, or expanded into additional steps and operations withoutdetracting from the essence of the disclosed embodiments.

FIG. 5 shows a block diagram illustrating an example computing devicethat is arranged for visualization of size of objects, all arranged inaccordance with at least some embodiment described herein.

In a very basic configuration 502, computing device 500 typicallyincludes one or more processors 504 and a system memory 506. A memorybus 508 may be used for communicating between processor 504 and systemmemory 506.

Depending on the desired configuration, processor 504 may be of any typeincluding but not limited to a microprocessor (μP), a microcontroller(μC), a digital signal processor (DSP), or any combination thereof.Processor 504 may include one more levels of caching, such as a levelone cache 510 and a level two cache 512, a processor core 514, andregisters 516. An example processor core 514 may include an arithmeticlogic unit (ALU), a floating point unit (FPU), a digital signalprocessing core (DSP Core), or any combination thereof. An examplememory controller 518 may also be used with processor 504, or in someimplementations memory controller 518 may be an internal part ofprocessor 504.

Depending on the desired configuration, system memory 506 may be of anytype including but not limited to volatile memory (such as RAM),non-volatile memory (such as ROM, flash memory, etc.) or any combinationthereof. System memory 506 may include an operating system 520, one ormore applications 522, and program data 524. Application 522 may includea visualization of size of objects algorithm 526 that is arranged toperform the functions as described herein including those described withrespect to process 400 of FIG. 4. Program data 524 may includevisualization of size of objects data 528 that may be useful foroperation with visualization of size of objects algorithm 526 as isdescribed herein. In some embodiments, application 522 may be arrangedto operate with program data 524 on operating system 520 such thatimplementations of visualization of size of objects may be provided asdescribed herein. This described basic configuration 502 is illustratedin FIG. 5 by those components within the inner dashed line.

Computing device 500 may have additional features or functionality, andadditional interfaces to facilitate communications between basicconfiguration 502 and any required devices and interfaces. For example,a bus/interface controller 530 may be used to facilitate communicationsbetween basic configuration 502 and one or more data storage devices 532via a storage interface bus 534. Data storage devices 532 may beremovable storage devices 536, non-removable storage devices 538, or acombination thereof. Examples of removable storage and non-removablestorage devices include magnetic disk devices such as flexible diskdrives and hard-disk drives (HDD), optical disk drives such as compactdisk (CD) drives or digital versatile disk (DVD) drives, solid statedrives (SSD), and tape drives to name a few. Example computer storagemedia may include volatile and nonvolatile, removable and non-removablemedia implemented in any method or technology for storage ofinformation, such as computer readable instructions, data structures,program modules, or other data.

System memory 506, removable storage devices 536 and non-removablestorage devices 538 are examples of computer storage media. Computerstorage media includes, but is not limited to, RAM, ROM, EEPROM, flashmemory or other memory technology, CD-ROM, digital versatile disks (DVD)or other optical storage, magnetic cassettes, magnetic tape, magneticdisk storage or other magnetic storage devices, or any other mediumwhich may be used to store the desired information and which may beaccessed by computing device 500. Any such computer storage media may bepart of computing device 500.

Computing device 500 may also include an interface bus 540 forfacilitating communication from various interface devices (e.g., outputdevices 542, peripheral interfaces 544, and communication devices 546)to basic configuration 502 via bus/interface controller 530. Exampleoutput devices 542 include a graphics processing unit 548 and an audioprocessing unit 550, which may be configured to communicate to variousexternal devices such as a display or speakers via one or more A/V ports552. Example peripheral interfaces 544 include a serial interfacecontroller 554 or a parallel interface controller 556, which may beconfigured to communicate with external devices such as input devices(e.g., keyboard, mouse, pen, voice input device, touch input device,etc.) or other peripheral devices (e.g., printer, scanner, etc.) via oneor more I/O ports 558. An example communication device 546 includes anetwork controller 560, which may be arranged to facilitatecommunications with one or more other computing devices 562 over anetwork communication link via one or more communication ports 564.

The network communication link may be one example of a communicationmedia. Communication media may typically be embodied by computerreadable instructions, data structures, program modules, or other datain a modulated data signal, such as a carrier wave or other transportmechanism, and may include any information delivery media. A “modulateddata signal” may be a signal that has one or more of its characteristicsset or changed in such a manner as to encode information in the signal.By way of example, and not limitation, communication media may includewired media such as a wired network or direct-wired connection, andwireless media such as acoustic, radio frequency (RF), microwave,infrared (IR) and other wireless media. The term computer readable mediaas used herein may include both storage media and communication media.

Computing device 500 may be implemented as a portion of a small-formfactor portable (or mobile) electronic device such as a cell phone, apersonal data assistant (PDA), a personal media player device, awireless web-watch device, a personal headset device, an applicationspecific device, or a hybrid device that include any of the abovefunctions. Computing device 500 may also be implemented as a personalcomputer including both laptop computer and non-laptop computerconfigurations.

The present disclosure is not to be limited in terms of the particularembodiments described in this application, which are intended asillustrations of various aspects. Many modifications and variations canbe made without departing from its spirit and scope, as will be apparentto those skilled in the art. Functionally equivalent methods andapparatuses within the scope of the disclosure, in addition to thoseenumerated herein, will be apparent to those skilled in the art from theforegoing descriptions. Such modifications and variations are intendedto fall within the scope of the appended claims. The present disclosureis to be limited only by the terms of the appended claims, along withthe full scope of equivalents to which such claims are entitled. It isto be understood that this disclosure is not limited to particularmethods, reagents, compounds, compositions or biological systems, whichcan, of course, vary. It is also to be understood that the terminologyused herein is for the purpose of describing particular embodimentsonly, and is not intended to be limiting.

In an illustrative embodiment, any of the operations, processes, etc.described herein can be implemented as computer-readable instructionsstored on a computer-readable medium. The computer-readable instructionscan be executed by a processor of a mobile unit, a network element,and/or any other computing device.

There is little distinction left between hardware and softwareimplementations of aspects of systems; the use of hardware or softwareis generally (but not always, in that in certain contexts the choicebetween hardware and software can become significant) a design choicerepresenting cost vs. efficiency tradeoffs. There are various vehiclesby which processes and/or systems and/or other technologies describedherein can be effected (e.g., hardware, software, and/or firmware), andthat the preferred vehicle will vary with the context in which theprocesses and/or systems and/or other technologies are deployed. Forexample, if an implementer determines that speed and accuracy areparamount, the implementer may opt for a mainly hardware and/or firmwarevehicle; if flexibility is paramount, the implementer may opt for amainly software implementation; or, yet again alternatively, theimplementer may opt for some combination of hardware, software, and/orfirmware.

The foregoing detailed description has set forth various embodiments ofthe devices and/or processes via the use of block diagrams, flowcharts,and/or examples. Insofar as such block diagrams, flowcharts, and/orexamples contain one or more functions and/or operations, it will beunderstood by those within the art that each function and/or operationwithin such block diagrams, flowcharts, or examples can be implemented,individually and/or collectively, by a wide range of hardware, software,firmware, or virtually any combination thereof. In one embodiment,several portions of the subject matter described herein may beimplemented via Application Specific Integrated Circuits (ASICs), FieldProgrammable Gate Arrays (FPGAs), digital signal processors (DSPs), orother integrated formats. However, those skilled in the art willrecognize that some aspects of the embodiments disclosed herein, inwhole or in part, can be equivalently implemented in integratedcircuits, as one or more computer programs running on one or morecomputers (e.g., as one or more programs running on one or more computersystems), as one or more programs running on one or more processors(e.g., as one or more programs running on one or more microprocessors),as firmware, or as virtually any combination thereof, and that designingthe circuitry and/or writing the code for the software and/or firmwarewould be well within the skill of one of skill in the art in light ofthis disclosure. In addition, those skilled in the art will appreciatethat the mechanisms of the subject matter described herein are capableof being distributed as a program product in a variety of forms, andthat an illustrative embodiment of the subject matter described hereinapplies regardless of the particular type of signal bearing medium usedto actually carry out the distribution. Examples of a signal bearingmedium include, but are not limited to, the following: a recordable typemedium such as a floppy disk, a hard disk drive (HDD), a CD, a DVD, adigital tape, a computer memory, etc.; and a transmission type mediumsuch as a digital and/or an analog communication medium (e.g., a fiberoptic cable, a waveguide, a wired communications link, a wirelesscommunication link, etc.).

Those skilled in the art will recognize that it is common within the artto describe devices and/or processes in the fashion set forth herein,and thereafter use engineering practices to integrate such describeddevices and/or processes into data processing systems. That is, at leasta portion of the devices and/or processes described herein can beintegrated into a data processing system via a reasonable amount ofexperimentation. Those having skill in the art will recognize that atypical data processing system generally includes one or more of asystem unit housing, a video display device, a memory such as volatileand non-volatile memory, processors such as microprocessors and digitalsignal processors, computational entities such as operating systems,drivers, graphical user interfaces, and applications programs, one ormore interaction devices, such as a touch pad or screen, and/or controlsystems including feedback loops and control motors (e.g., feedback forsensing position and/or velocity; control motors for moving and/oradjusting components and/or quantities). A typical data processingsystem may be implemented utilizing any suitable commercially availablecomponents, such as those typically found in datacomputing/communication and/or network computing/communication systems.

The herein described subject matter sometimes illustrates differentcomponents contained within, or connected with, different othercomponents. It is to be understood that such depicted architectures aremerely examples, and that in fact many other architectures can beimplemented which achieve the same functionality. In a conceptual sense,any arrangement of components to achieve the same functionality iseffectively “associated” such that the desired functionality isachieved. Hence, any two components herein combined to achieve aparticular functionality can be seen as “associated with” each othersuch that the desired functionality is achieved, irrespective ofarchitectures or intermedial components. Likewise, any two components soassociated can also be viewed as being “operably connected”, or“operably coupled”, to each other to achieve the desired functionality,and any two components capable of being so associated can also be viewedas being “operably couplable”, to each other to achieve the desiredfunctionality. Specific examples of operably couplable include but arenot limited to physically mateable and/or physically interactingcomponents and/or wirelessly interactable and/or wirelessly interactingcomponents and/or logically interacting and/or logically interactablecomponents.

With respect to the use of substantially any plural and/or singularterms herein, those having skill in the art can translate from theplural to the singular and/or from the singular to the plural as isappropriate to the context and/or application. The varioussingular/plural permutations may be expressly set forth herein for sakeof clarity.

It will be understood by those within the art that, in general, termsused herein, and especially in the appended claims (e.g., bodies of theappended claims) are generally intended as “open” terms (e.g., the term“including” should be interpreted as “including but not limited to,” theterm “having” should be interpreted as “having at least,” the term“includes” should be interpreted as “includes but is not limited to,”etc.). It will be further understood by those within the art that if aspecific number of an introduced claim recitation is intended, such anintent will be explicitly recited in the claim, and in the absence ofsuch recitation no such intent is present. For example, as an aid tounderstanding, the following appended claims may contain usage of theintroductory phrases “at least one” and “one or more” to introduce claimrecitations. However, the use of such phrases should not be construed toimply that the introduction of a claim recitation by the indefinitearticles “a” or “an” limits any particular claim containing suchintroduced claim recitation to embodiments containing only one suchrecitation, even when the same claim includes the introductory phrases“one or more” or “at least one” and indefinite articles such as “a” or“an” (e.g., “a” and/or “an” should be interpreted to mean “at least one”or “one or more”); the same holds true for the use of definite articlesused to introduce claim recitations. In addition, even if a specificnumber of an introduced claim recitation is explicitly recited, thoseskilled in the art will recognize that such recitation should beinterpreted to mean at least the recited number (e.g., the barerecitation of “two recitations,” without other modifiers, means at leasttwo recitations, or two or more recitations). Furthermore, in thoseinstances where a convention analogous to “at least one of A, B, and C,etc.” is used, in general such a construction is intended in the senseone having skill in the art would understand the convention (e.g., “asystem having at least one of A, B, and C” would include but not belimited to systems that have A alone, B alone, C alone, A and Btogether, A and C together, B and C together, and/or A, B, and Ctogether, etc.). In those instances where a convention analogous to “atleast one of A, B, or C, etc.” is used, in general such a constructionis intended in the sense one having skill in the art would understandthe convention (e.g., “a system having at least one of A, B, or C” wouldinclude but not be limited to systems that have A alone, B alone, Calone, A and B together, A and C together, B and C together, and/or A,B, and C together, etc.). It will be further understood by those withinthe art that virtually any disjunctive word and/or phrase presenting twoor more alternative terms, whether in the description, claims, ordrawings, should be understood to contemplate the possibilities ofincluding one of the terms, either of the terms, or both terms. Forexample, the phrase “A or B” will be understood to include thepossibilities of “A” or “B” or “A and B.”

As will be understood by one skilled in the art, for any and allpurposes, such as in terms of providing a written description, allranges disclosed herein also encompass any and all possible subrangesand combinations of subranges thereof. Any listed range can be easilyrecognized as sufficiently describing and enabling the same range beingbroken down into at least equal halves, thirds, quarters, fifths,tenths, etc. As a non-limiting example, each range discussed herein canbe readily broken down into a lower third, middle third and upper third,etc. As will also be understood by one skilled in the art all languagesuch as “up to,” “at least,” and the like include the number recited andrefer to ranges which can be subsequently broken down into subranges asdiscussed above. Finally, as will be understood by one skilled in theart, a range includes each individual member. Thus, for example, a grouphaving 1-3 cells refers to groups having 1, 2, or 3 cells. Similarly, agroup having 1-5 cells refers to groups having 1, 2, 3, 4, or 5 cells,and so forth.

From the foregoing, it will be appreciated that various embodiments ofthe present disclosure have been described herein for purposes ofillustration, and that various modifications may be made withoutdeparting from the scope and spirit of the present disclosure.Accordingly, the various embodiments disclosed herein are not intendedto be limiting, with the true scope and spirit being indicated by thefollowing claims.

I claim:
 1. A method to estimate a size of an object based on a digitalimage thereof, comprising: displaying a reference scale associated witha display screen; displaying an image that includes the object, andwherein the reference scale and the image are simultaneously viewable onor by the display screen, and the reference scale remains constant inlength independent of a size of the displayed image, and wherein thereference scale is located on a physical frame of the display screen;responsive to a first input: adjusting the displayed image, wherein theobject in the adjusted image approximates an actual size of the object;and responsive to a second input: generating a first scale that depictsa representative length on the image based on the reference scale, suchthat the actual size of the object is visualized based on the firstscale, wherein the representative length is determined based on a numberof pixels used to represent the reference scale's length.
 2. The methodof claim 1, further comprising juxtaposing the first scale to at least aportion of the adjusted displayed image.
 3. The method of claim 2,wherein the estimating comprises calculating the size of the objectbased on a ratio of the first scale to the portion of the adjusteddisplayed image.
 4. The method of claim 1, further comprising: receivingthe adjusted displayed image, with the first scale displayed thereon, ata computing device; displaying the received image, with the first scaledisplayed thereon, on a second display screen associated with thecomputing device, the second display screen having an indication of asecond scale; and responsive to a third input, calibrating the displayedimage, wherein the first scale displayed on the image approximates thesecond scale.
 5. The method of claim 1, further comprising estimatingthe actual size of the object based on the first scale.
 6. The method ofclaim 1, wherein the first input comprises at least one of zooming orpanning relative to the displayed image.
 7. A non-transitorycomputer-readable medium that stores executable instructions that, inresponse to execution, cause one or more processors to performoperations comprising: display an image that includes at least an objecton a display screen; determine a representative length based on a numberof pixels used to represent a length of a reference scale located on aphysical frame of the display screen, wherein the reference scale andthe image are simultaneously viewable on or by the display screen, andthe reference scale remains constant in length independent of a size ofthe displayed image; responsive to a first input, adjust the displayedimage, wherein the object in the adjusted image approximates an actualsize of the object; and responsive to a second input, generate a scaleon the image based on the reference scale, wherein the scale depicts therepresentative length.
 8. The non-transitory computer-readable medium ofclaim 7, wherein the operations further comprise estimating a size ofthe object based on the scale.
 9. The non-transitory computer-readablemedium of claim 8, wherein the estimating comprises calculating the sizeof the object based on a ratio of the scale to a portion of the adjusteddisplayed image.
 10. The non-transitory computer-readable medium ofclaim 7, wherein the first input is received via a touch screen.
 11. Thenon-transitory computer-readable medium of claim 7, wherein the firstinput comprises at least one of zooming or panning relative to thedisplayed image.
 12. A non-transitory computer-readable medium thatstores executable-instructions that, in response to execution, cause oneor more processors to perform operations comprising: receive a scaledversion of an image that includes a first scale that depicts a knownlength; determine a number of pixels that closely approximates a lengthof a second scale located on a physical frame of a display screen;display the scaled version of the image on the display screen, whereinthe second scale and the scaled version of the image are simultaneouslyviewable on or by the display screen, and the second scale remainsconstant in length independent of a size of the displayed scaled versionof the image; and responsive to an input, adjust the size of the scaledversion of the image, so that the first scale is represented based onthe number of pixels.
 13. The non-transitory computer-readable medium ofclaim 12, wherein the operations further comprise estimating a size ofan object included in the scaled version of the image based on the firstscale.
 14. The non-transitory computer-readable medium of claim 12,wherein the second scale is marked on the physical frame of the displayscreen.
 15. A system, comprising: a first display device configured todisplay a reference scale and display an image that includes at least anobject, wherein the reference scale and the image are simultaneouslyviewable on or by the first display device, and the reference scaleremains constant in length independent of a size of the displayed image,and wherein the reference scale is located on a physical frame of thefirst display device; a first display controller configured to:responsive to a first input, adjust the size of the image, wherein theobject included in the adjusted image approximates an actual size of theobject, and responsive to a second input, display a first scale on theadjusted image based on the reference scale, the first scale depicting arepresentative length, wherein the representative length is based on anumber of pixels used to represent the reference scale's length; asecond display device configured to display a second scale and displaythe image with the first scale displayed thereon, wherein the secondscale and the image with the first scale displayed thereon aresimultaneously viewable on or by the second display device, and thesecond scale remains constant in length independent of a size of thedisplayed image; and a second display controller configured to,responsive to a third input, adjust the size of the displayed image suchthat the first scale approximates the second scale.
 16. The system ofclaim 15, wherein the first display controller is further configured toestimate a size of the object based on the first scale.
 17. The systemof claim 15, wherein the second display controller is further configuredto estimate a size of the object based on the first scale.
 18. Thesystem of claim 15, wherein the first display controller is furtherconfigured to transmit the adjusted image with the first scale displayedthereon to the second display controller.